home *** CD-ROM | disk | FTP | other *** search
/ Borland JBuilder 6 / jbuilder6.iso / IBM VisualAge for Java Enterprise v4.0 Retail / ivj40 / setup / IDE.Cab / F87891_MethodSetModel.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-03-22  |  2.4 KB  |  63 lines

  1. package com.ibm.ivj.testpilot.model;
  2.  
  3. import com.ibm.ivj.testpilot.utils.ClassUtils;
  4. import com.ibm.ivj.testpilot.utils.MemberModelComparator;
  5. import com.ibm.ivj.testpilot.utils.SortUtils;
  6. import java.lang.reflect.Method;
  7.  
  8. public class MethodSetModel extends MemberSetModel {
  9.    private static String copyright = "Licensed Material - Property of IBM IBM(R) VisualAge(R) for Java(TM), Version 3.5 (C) Copyright IBM Corp. 1997, 2000- All Rights Reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.";
  10.    private MethodModel[] methods = null;
  11.    private static final String methodSetName = ResourceHandler.getHandler().getMessage("METHODS");
  12.    private static final MemberModelComparator comp = new MemberModelComparator();
  13.  
  14.    public MethodSetModel(MemberModel var1) {
  15.       super(var1, methodSetName);
  16.    }
  17.  
  18.    public MethodSetModel(MemberModel var1, String var2) {
  19.       super(var1, var2);
  20.    }
  21.  
  22.    public MemberModel[] getMembers() {
  23.       return this.getMethods();
  24.    }
  25.  
  26.    protected MemberModel[] getMethods() {
  27.       if (this.methods == null) {
  28.          MemberModel var1 = ((MemberModel)this).getOwner();
  29.          ReflectionMemberMask var2 = var1.getReflectionMemberMask();
  30.          Method[] var3 = getPublicMethodsFor(((MemberModel)this).getType(), var2.hasMemberMethods(), var2.hasStaticMethods());
  31.          int var5 = var3.length;
  32.          MethodModel[] var6 = new MethodModel[var5];
  33.  
  34.          for(int var4 = 0; var4 < var5; ++var4) {
  35.             var6[var4] = new MethodModel(var1, var3[var4]);
  36.          }
  37.  
  38.          this.methods = new MethodModel[var5];
  39.          sort(var6, this.methods);
  40.       }
  41.  
  42.       return this.methods;
  43.    }
  44.  
  45.    protected static final Method[] getPublicMethodsFor(Class var0, boolean var1, boolean var2) {
  46.       return ClassUtils.getPublicDeclaredMethods(var0, var1, var2);
  47.    }
  48.  
  49.    public void resetMembers() {
  50.       this.methods = null;
  51.    }
  52.  
  53.    protected static final void sort(Object[] var0, Object[] var1) {
  54.       int[] var2 = SortUtils.getSortIndex(var0, comp);
  55.       int var4 = var0.length;
  56.  
  57.       for(int var3 = 0; var3 < var4; ++var3) {
  58.          var1[var3] = var0[var2[var3]];
  59.       }
  60.  
  61.    }
  62. }
  63.